翻訳と辞書
Words near each other
・ Canonical correspondence analysis
・ Canonical cover
・ Canonical criticism
・ Canonical domain
・ Canonical election
・ Canonical ensemble
・ Canonical erection of a house of religious
・ Canonical faculties
・ Canonical form
・ Canonical hours
・ Canonical Huffman code
・ Canonical impediment
・ Canonical Inquisition
・ Canonical institution
・ Canonical link element
Canonical LR parser
・ Canonical map
・ Canonical model
・ Canonical model (disambiguation)
・ Canonical normal form
・ Canonical Old Roman Catholic Church
・ Canonical order
・ Canonical protocol pattern
・ Canonical provision
・ Canonical quantization
・ Canonical quantum gravity
・ Canonical ring
・ Canonical S-expressions
・ Canonical schema pattern
・ Canonical sequence


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Canonical LR parser : ウィキペディア英語版
Canonical LR parser
In computer science, a canonical LR parser or LR(1) parser is an LR(k) parser for ''k=1'', i.e. with a single lookahead terminal. The special attribute of this parser is that all LR(k) parsers with ''k>1'' can be transformed into a LR(1) parser. It can handle all deterministic context-free languages.〔 In the past this LR(k) parser has been avoided because of its huge memory requirements in favor of less powerful alternatives such as the LALR and the LL(1) parser. Recently, however, a "minimal LR(1) parser" whose space requirements are close to LALR parsers, is being offered by several parser generators.
Like most parsers, the LR(1) parser is automatically generated by compiler compilers like GNU Bison,
MSTA, Menhir,〔(【引用サイトリンク】url=http://cristal.inria.fr/~fpottier/menhir/ )〕 HYACC, and LRSTAR.
== History ==
In 1965 Donald Knuth invented the LR(k) parser (Left to right, Rightmost derivation parser) a type of shift-reduce parser, as a generalization of existing precedence parsers. This parser has the potential of recognizing all deterministic context-free languages and can produce both left and right derivations of statements encountered in the input file. Knuth proved that it reaches its maximum language recognition power for k=1 and provided a method for transforming LR(k), k > 1 grammars into LR(1) grammars.〔
Canonical LR(1) parsers have the practical disadvantage of having enormous memory requirements for their internal parser-table representation. In 1969, Frank DeRemer suggested two simplified versions of the LR parser called LALR and SLR. These parsers require much less memory than Canonical LR(1) parsers, but have slightly less language-recognition power. LALR(1) parsers have been the most common implementations of the LR Parser.
However, a new type of LR(1) parser, some people call a "minimal LR(1) parser" was introduced in 1977 by David Pager who showed that LR(1) parsers can be created whose memory requirements rival those of LALR(1) parsers. Recently, some parser generators are offering minimal LR(1) parsers, which not only solve
the memory requirement problem, but also the mysterious-conflict-problem inherent in LALR(1) parser generators.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Canonical LR parser」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.